//
// Created by zhanglijia on 2021/10/25.
// 这个文件主要包括摄像头的枚举、车的移动枚举、视觉算法任务枚举
//

#ifndef COMMON_DISPATCHER_ENUM_H
#define COMMON_DISPATCHER_ENUM_H

#include <iostream>
using namespace std;

// 摄像头的枚举
enum Cameras {
    FRONT_UPPER_CAMERA      = 0,    //前上摄像头
    FRONT_LOWER_CAMERA      = 1,    //前下摄像头
    FRONT_LEFT_CAMERA       = 2,    //前左摄像头，但视野朝向左后
    FRONT_RIGHT_CAMERA      = 3,    //前右摄像头，但视野朝向右后
    REAR_CAMERA             = 4,    //后摄像头
    REAR_LEFT_CAMERA        = 5,    //后左摄像头，但视野朝向左前
    REAR_RIGHT_CAMERA       = 6,    //后右摄像头，但视野朝向右前
    TRAFFIC_LIGHT_CAMERA    = 7     //检测识别红绿灯摄像头
};

// 车的动作枚举
enum CarAction {
    CAR_ACTION_PARK         = 0,    //车辆驻车
    CAR_ACTION_STOP         = 1,    //车辆临时停止
    CAR_ACTION_FORWARD      = 2,    //车辆前行
    CAR_ACTION_BACKWARD     = 3,    //车辆后退
    CAR_OPEN_ALL_CAMERAS    = 4,    //此项不属于车辆动作，用于测试摄像头
};

// 视觉算法任务枚举
enum AlgorithmTask {
    TASK_COMMON_OBSTACLE_DETECT     = 0,    //人车等常规障碍物检测识别
    TASK_LOW_OBSTACLE_DETECT        = 1,    //低矮障碍物检测
    TASK_QR_CODE_LOCATE             = 2,    //二维码定位
    TASK_GARBAGE_DETECT             = 3,    //垃圾检测识别
    TASK_ROAD_EDGE_DETECT           = 4,    //道路边缘检测
    TASK_TRAFFIC_LIGHT_DETECT       = 5,    //红绿灯检测识别
};

#endif  //COMMON_DISPATCHER_ENUM_H